#define _CRT_SECURE_NO_WARNINGS 1


//#include<vector>
//#include<iostream>
//
//using namespace std;
//
//int main()
//{
//	vector<int> v1(5, 1);
//
//	vector<int>::iterator it = v1.begin();
//	while (it != v1.end())
//	{
//		cout << *it << ' ';
//		it++;
//	}
//	cout << endl;
//
//	vector<int>::reverse_iterator rit = v1.rbegin();
//	while (rit != v1.rend())
//	{
//		cout << *rit << ' ';
//		rit++;
//	}
//	cout << endl;
//
//	return 0;
//}


//#include<vector>
//#include<iostream>
//
//using namespace std;
//
//int main()
//{
//	vector<int> v1(5, 1);
//	
//	cout << v1.size() << endl;
//	cout << v1.capacity() << endl;
//	cout << v1.empty() << endl;
//
//	v1.resize(8);
//	cout << v1.size() << endl;
//
//	v1.reserve(20);
//	cout << v1.capacity() << endl;
//
//	return 0;
//}


//#include<vector>
//#include<iostream>
//
//using namespace std;
//
//int main()
//{
//	vector<int> v1;
//
//	v1.push_back(1);
//	v1.push_back(2);
//	v1.push_back(3);
//	v1.push_back(4);
//
//	v1.pop_back();
//
//	v1.insert(v1.begin(), 10);
//	v1.insert(v1.begin() + 3, 10);
//	v1.insert(v1.end(), 10);
//
//	v1.erase(v1.begin());
//	v1.erase(v1.begin() + 3);
//	v1.erase(v1.end() - 1);
//
//	vector<int> v2;
//	v2.push_back(1);
//	v2.push_back(2);
//	v2.push_back(3);
//	v2.push_back(4);
//
//	v1.swap(v2);
//
//	for (size_t i = 0; i < v1.size(); i++)
//	{
//		cout << v1[i] << ' ';
//	}
//	cout << endl;
//
//	for (size_t i = 0; i < v2.size(); i++)
//	{
//		cout << v2[i] << ' ';
//	}
//	cout << endl;
//
//	return 0;
//}


#include<vector>
#include<iostream>

using namespace std;

namespace yyh
{
	template<class Iterator, class Ref, class Ptr>
	struct Reverse_iterator
	{
		Iterator _it;
		
	};
}

int main()
{
	vector<int> v(5, 1);
	auto rit = v.rbegin();
	while (rit != v.rend())
	{
		cout << *rit << ' ';
	}
	cout << endl;

	return 0;
}